/*
#include <iostream>

struct Vector2
{
	float x, y;
	Vector2(float x, float y)
		:x(x), y(y) {}

	Vector2 Add(const Vector2& other) const
	{
		return Vector2(x + other.x, y + other.y);
	}

	Vector2 operator+(const Vector2& other) const
	{
		return Add(other);
	}

	Vector2 Multiply(const Vector2& other) const
	{
		return Vector2(x * other.x, y * other.y);
	}

	Vector2 operator*(const Vector2& other) const
	{
		return Multiply(other);
	}

	bool operator==(const Vector2& other) const
	{
		if (x == other.x && y == other.y)
			return true;
		else
			return false;
	}
};

std::ostream& operator<<(std::ostream& stream, const Vector2& other)
{
	stream << other.x << ", " << other.y;
	return stream;
}

int main()
{
	Vector2 position(4.0f, 4.0f);
	Vector2 time(4.0f, 4.0f);
	Vector2 speed(2.0f, 3.0f);

	Vector2 result1 = position.Add(speed.Multiply(time));
	Vector2 result2 = position + speed * time;

	std::cout << result2 << std::endl;
	std::cin.get();
}
*/